iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
Mobile Development

上班到一半突然被通知被炒了的我只好來寫個賓果系列 第 10

Day10 Dialog 提示框、對話框、警示框,你都怎麼叫,我都這樣叫

  • 分享至 

  • xImage
  •  

前幾期將按鈕生了出來,並且也做了一些設置,但出錯時(輸入數字超過範圍或是沒有輸入數字)都沒有出現任何警示,這樣可能會讓使用者覺得app壞掉或是沒有反應,然後一直瘋狂亂點之類的,雖然亂點這件事對於app壞掉或是沒反應來說沒有什麼好的意義,可能還會讓事情變更嚴重,但大家好像下意識還是會去瘋狂亂按,為了防止這件事,所以這期要來設置dialog,
你可以叫他(dialog)提示框、對話框、警示框...,都行,都有看過有人這麼叫,只要你懂我懂大家懂就好。

因為在dialog裡設置的文字可能會很常被重複使用,所以可以先去res/values/strings裡面加上(可參考day4)
附上這時strings裡有的東西,之後還會再增加的

<resources>
   <string name="app_name">Bingo</string>
   <string name="chooseModelTitle">選擇模式</string>
   <string name="inputModelTitle">輸入模式</string>
   <string name="game">遊戲模式</string>
   <string name="input">輸入模式</string>
   <string name="inputNumber">輸入數字:</string>
   <string name="random">亂數</string>
   <string name="warn">警告</string>
   <string name="numberOverRange">輸入的數字超出輸入範圍!</string>
   <string name="alert_dialog_ok">確定</string>
</resources>
private void showDialogOverRange() {
   AlertDialog overRange = new AlertDialog.Builder(MainActivity.this)
           .setTitle(R.string.warn)
           .setMessage(R.string.numberOverRange)
           .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int which) {
               }
           }).create();
   overRange.show();
}

這邊設置了AlertDialog,名字取為overRange,設置了標題(警告),訊息(輸入的數字超出輸入範圍!),跟一個按鈕(確定)
最後把他show出來就可以啦
(如果設置了第二個setMessage只會出現後面設置的那個,如果想要塞其他訊息就用 \n 換行吧,但這邊可能會出現一個問題,等後面遇到再來跟大家介紹)

做完記得把他放到要偵測錯誤的地方呦
https://ithelp.ithome.com.tw/upload/images/20220905/20140063J8OOuHDyEW.png


上一篇
Day9 動態生成按鈕可能遇到問題 按鈕也是有叛逆期的
下一篇
Day11 動態生成按鈕判斷 這個是這個 那個是那個 哪個是哪個
系列文
上班到一半突然被通知被炒了的我只好來寫個賓果30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言